Big Data and Analytics Apply Family Functions (apply, lapply, sapply) গাইড ও নোট

315

আর প্রোগ্রামিংয়ে Apply Family Functions (যেমন, apply(), lapply(), এবং sapply()) ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ ফাংশন। এগুলি আপনাকে দ্রুত এবং সহজভাবে ডেটা ফ্রেম বা ম্যাট্রিক্সের উপর ফাংশন প্রয়োগ করতে সাহায্য করে, যা হাতে হাতে লুপ ব্যবহার করার চেয়ে অনেক বেশি কার্যকরী এবং দ্রুত। এই ফাংশনগুলির মূল উদ্দেশ্য হল যে কোনো ফাংশনকে ডেটার প্রতি উপাদানে প্রয়োগ করা এবং ফলাফলগুলোকে একটি সহজ ফরম্যাটে ফেরত পাওয়া।


১. apply() ফাংশন

apply() ফাংশনটি একটি ম্যাট্রিক্স বা ২D অ্যারে (যেমন ডেটা ফ্রেম) এর উপর কলাম বা রো অনুযায়ী কোনো ফাংশন প্রয়োগ করতে ব্যবহৃত হয়। এই ফাংশনটি ম্যাট্রিক্সের প্রতি রো বা প্রতি কলামের উপর গণনা করার জন্য খুবই কার্যকরী।

Syntax:

apply(X, MARGIN, FUN, ...)
  • X: আপনার ডেটা (ম্যাট্রিক্স বা ডেটা ফ্রেম)
  • MARGIN: ১ যদি আপনি রোতে ফাংশন প্রয়োগ করতে চান, অথবা ২ যদি আপনি কলামে ফাংশন প্রয়োগ করতে চান
  • FUN: যেটি ফাংশন আপনি প্রয়োগ করতে চান (যেমন, sum, mean, sd ইত্যাদি)
  • ...: অতিরিক্ত প্যারামিটার (যদি প্রয়োজন হয়)

উদাহরণ:

# একটি ম্যাট্রিক্স তৈরি
my_matrix <- matrix(1:12, nrow = 3, ncol = 4)

# প্রতি কলামে গড় বের করা
apply(my_matrix, 2, mean)  # কলাম wise mean বের করা

এখানে, 2 মানে কলামে ফাংশন প্রয়োগ করা হচ্ছে, এবং mean হল সেই ফাংশন যা প্রয়োগ করা হবে।

উদাহরণ ২:

# প্রতি রোতে যোগফল বের করা
apply(my_matrix, 1, sum)  # রো wise sum বের করা

এখানে, 1 মানে রোতে ফাংশন প্রয়োগ করা হচ্ছে, এবং sum হল সেই ফাংশন যা প্রয়োগ করা হবে।


২. lapply() ফাংশন

lapply() ফাংশনটি লিস্ট, ডেটা ফ্রেম বা অন্যান্য ধরণের ডেটা স্ট্রাকচারের প্রতিটি উপাদানে ফাংশন প্রয়োগ করার জন্য ব্যবহৃত হয়। এটি একটি লিস্ট আউটপুট ফেরত দেয়, যার প্রতিটি উপাদান হল সেই ফাংশনের ফলাফল।

Syntax:

lapply(X, FUN, ...)
  • X: আপনার ডেটা (লিস্ট বা অন্যান্য ডেটা স্ট্রাকচার)
  • FUN: যেটি ফাংশন আপনি প্রয়োগ করতে চান
  • ...: অতিরিক্ত প্যারামিটার

উদাহরণ:

# একটি লিস্ট তৈরি
my_list <- list(a = 1:5, b = 6:10, c = 11:15)

# লিস্টের প্রতিটি উপাদানের গড় বের করা
lapply(my_list, mean)

এখানে, mean ফাংশনটি প্রতিটি লিস্টের উপাদানে প্রয়োগ করা হচ্ছে এবং এর ফলাফল একটি লিস্ট আউটপুট হিসেবে আসবে।


৩. sapply() ফাংশন

sapply() ফাংশনটি lapply() এর মতোই কাজ করে, তবে এটি আউটপুটকে একটি সোজাসুজি ফরম্যাটে (যেমন ভেক্টর বা ম্যাট্রিক্স) রূপান্তর করে, যেখানে সম্ভব। এটি সাধারণত তখন ব্যবহার করা হয় যখন আপনি লিস্টের পরিবর্তে ভেক্টর বা ম্যাট্রিক্স আউটপুট চান।

Syntax:

sapply(X, FUN, ..., simplify = TRUE)
  • X: আপনার ডেটা (লিস্ট বা অন্যান্য ডেটা স্ট্রাকচার)
  • FUN: যেটি ফাংশন আপনি প্রয়োগ করতে চান
  • ...: অতিরিক্ত প্যারামিটার
  • simplify: এটি একটি বুলিয়ান প্যারামিটার যা আউটপুটকে সোজাসুজি ফরম্যাটে রূপান্তর করে।

উদাহরণ:

# একটি লিস্ট তৈরি
my_list <- list(a = 1:5, b = 6:10, c = 11:15)

# লিস্টের প্রতিটি উপাদানের গড় বের করা এবং ভেক্টর আউটপুট পাওয়া
sapply(my_list, mean)

এখানে, sapply() ফাংশনটি lapply() এর মতো কাজ করে, তবে এটি একটি সোজাসুজি ভেক্টর আউটপুট ফেরত দেবে।


apply(), lapply(), এবং sapply() এর মধ্যে পার্থক্য

ফাংশনব্যবহারআউটপুট
apply()ম্যাট্রিক্স বা ২D অ্যারে (রো বা কলাম wise ফাংশন প্রয়োগ)একটি ভেক্টর বা ম্যাট্রিক্স
lapply()লিস্ট বা অন্যান্য ডেটা স্ট্রাকচার (প্রতিটি উপাদান wise ফাংশন প্রয়োগ)একটি লিস্ট
sapply()লিস্ট বা অন্যান্য ডেটা স্ট্রাকচার (প্রতিটি উপাদান wise ফাংশন প্রয়োগ)একটি সোজাসুজি ফরম্যাট (যেমন, ভেক্টর)

সারাংশ

আর প্রোগ্রামিংয়ের Apply Family Functions (যেমন apply(), lapply(), sapply()) ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের জন্য গুরুত্বপূর্ণ টুল। apply() ম্যাট্রিক্স বা ২D অ্যারের প্রতি রো বা কলামে ফাংশন প্রয়োগ করতে ব্যবহৃত হয়, lapply() লিস্ট বা অন্যান্য ডেটা স্ট্রাকচারের প্রতি উপাদানে ফাংশন প্রয়োগ করে এবং sapply() সোজাসুজি ফরম্যাটে আউটপুট প্রদান করে। এই ফাংশনগুলি লুপের তুলনায় কোডকে সহজ, দ্রুত এবং কার্যকরী করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...